翻訳と辞書
Words near each other
・ Structure & Cosmetics
・ Structure & Dynamics of the Psyche
・ Structure (category theory)
・ Structure (disambiguation)
・ Struck Down
・ Struck idiophone
・ Struck Island
・ Struck jury
・ Struck off
・ Struck Off and Die
・ Struck Oil
・ Struck Oil (film)
・ Struck Oil, Queensland
・ Strucker
・ Struckum
Struct (C programming language)
・ Structo
・ Structube
・ Structurable algebra
・ Structurae
・ Structural abuse
・ Structural acoustics
・ Structural adjustment
・ Structural adjustment loan
・ Structural Adjustment Participatory Review International Network
・ Structural alignment
・ Structural alignment software
・ Structural analog
・ Structural analysis
・ Structural and cyclical deficit


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

Struct (C programming language) : ウィキペディア英語版
Struct (C programming language)

A struct in the C programming language (and many derivatives) is a complex data type declaration that defines a physically grouped list of variables to be placed under one name in a block of memory, allowing the different variables to be accessed via a single pointer, or the struct declared name which returns the same address. The struct can contain many other complex and simple data types in an association, so is a natural organizing type for records like the mixed data types in lists of directory entries reading a hard drive (file length, name, extension, physical (cylinder, disk, head indexes) address, etc.), or other mixed record type (patient names, address, telephone... insurance codes, balance, etc.).

The C struct directly corresponds to the assembly language data type of the same use, and both reference a ''contiguous block'' of physical memory, usually delimited (sized) by word-length boundaries. Language implementations which could utilize half-word or byte boundaries (giving denser packing, using less memory) were considered advanced in the mid-eighties. Being a block of contiguous memory, each variable within is located a fixed offset from the index zero reference, the pointer. As an illustration, many BASIC interpreters once fielded a string data struct organization with one value recording string length, one indexing (cursor value of) the previous line, one pointing the string data.
Because the contents of a struct are stored in contiguous memory, the sizeof operator must be used to get the number of bytes needed to store a particular type of struct, just as it can be used for primitives. The alignment of particular fields in the struct (with respect to word boundaries) is implementation-specific and may include padding, although modern compilers typically support the #pragma pack directive, which changes the size in bytes used for alignment.〔(C struct memory layout? - Stack Overflow )〕
In the C++ language, a struct is identical to a C++ class but a difference in the default visibility exists: class members are by default private, whereas struct members are by default public.
== In other languages ==
Like its C counterpart, the struct data type in C# (''Structure'' in Visual Basic .NET) is similar to a class. The biggest difference between a struct and a class in these languages is that when a struct is passed as an argument to a function, any modifications to the struct in that function will not be reflected in the original variable (unless pass-by-reference is used).〔(Parameter passing in C# )〕
This distinction differs from C++, where classes or structs can be allocated either on the stack (similar to C#) or on the heap, with an explicit pointer. In C++, the only difference between a struct and a class is that the members and base classes of a struct are public by default. (A class defined with the class keyword has private members and base classes by default.)

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「Struct (C programming language)」の詳細全文を読む



スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.